Memory devices made up of integrated circuits for storing data are generally categorized as either volatile, in which the data is lost once the power is turned off, or nonvolatile, in which the data is retained even after the power is turned off.
A multiplexer is a data selection circuit having many input lines and an output line, and selects one of the input lines for transmitting the data of the selected input line to the output line. A demultiplexer is also a data selection circuit the function of which is opposite to the multiplexer. The demultiplexer, which has an input line and many output lines, distributes the data of the input line to the output lines.
Please refer to FIG. 1, which is a block diagram showing a conventional nonvolatile memory device. As shown, the nonvolatile memory device 10 includes a memory array unit 11, a column decoder 12, and an integrated data line driver 13. The memory array unit 11 includes eight memory sub-arrays 110, 111, . . . and 117. The column decoder 12 includes eight data selection circuits DTSEL0, DTSEL1, . . . and DTSEL7 correspondingly coupled to the eight memory sub-arrays 110, 111, . . . and 117. The integrated data line driver 13 includes eight data line drivers DLDRV0, DLDRV1, . . . and DLDRV7 correspondingly coupled to the eight data selection circuits DTSEL0, DTSEL1, . . . and DTSEL7, and receives data provided from a data bus 14 or provides another data to the data bus 14.
The transmission procedure for programming data into the memory array unit 11 is as follows. The eight data line drivers DLDRV0, DLDRV1, . . . and DLDRV7 correspondingly receives eight data streams DTS0, DTS1, . . . and DTS7 provided from the data bus 14, and holds eight bit data received in parallel in a programming duty period. The eight data selection circuits DTSEL0, DTSEL1, . . . and DTSEL7 form eight demultiplexers controlled by a selection decoder (not shown) for correspondingly distributing and transmitting the eight bit data to the eight memory sub-arrays 110, 111, . . . and 117. The transmission procedure for reading data from the memory array unit 11 to the data bus 14 is the reverse similar operation of the programming. In this case, the eight data selection circuits DTSEL0, DTSEL1, . . . and DTSEL7 form eight multiplexers.
Afterward, the circumstance transmitting a data stream by a data selection circuit, such as the data selection circuit DTSEL0, is described. Please refer to FIG. 2, which is a block diagram showing a conventional circuit for transmitting a data stream. As shown, the circuit 20 for transmitting the data stream DTS0 includes a data selection circuit 21 and a data line driver 22. The data selection circuit 21 includes four primary switches QA0, QA1, QA2, and QA3 and sixteen secondary switches QB0, QB1, . . . and QB15. The source terminals of the four primary switches QA0, QA1, QA2, and QA3 are coupled as a data line DL, and each bit datum of the data stream DTS0 is transmitted through the data line DL. The sixteen secondary switches QB0, QB1, . . . and QB15 are equally classified as four secondary switch sets 261, 262, 263, and 264, and the source terminals in each secondary switch set (such as 261) are commonly coupled to the drain terminal of a corresponding primary switch (such as QA0). Besides, the drain terminals of the sixteen secondary switches QB0, QB1, . . . and QB15 are correspondingly coupled to sixteen metal bit lines MBL0, MBL1, . . . and MBL15.
The four primary switches QA0, QA1, QA2, and QA3 correspondingly receive four control signals YS0, YS1, YS2, and YS3, and four secondary switches (such as QB0, QB1, QB2, and QB3) in each secondary switch set (such as 261) correspondingly receive four control signals YD0, YD1, YD2, and YD3, wherein each control signal controls the turn-on or the turn-off state of a corresponding switch thereof. There is a controllable channel (such as CE1) between the data line DL and the drain terminal of each secondary switch (such as QB1), so that there are sixteen controllable channels CE0, CE1, . . . and CE15. Corresponding to the four primary switches QA0, QA1, QA2, and QA3, the sixteen controllable channels CE0, CE1, . . . and CE15 are classified as four controllable channel sets F0, F1, F2, and F3. While a selected secondary switch (such as QB1), of the sixteen secondary switches QB0, QB1, . . . and QB15, and a corresponding primary switch (such as QA0), of the four primary switches QA0, QA1, QA2, and QA3, are both turned on, a selected controllable channel (such as CE1), of the sixteen controllable channels CE0, CE1, . . . and CE15, are turned on.
The data line driver 22 is coupled to the data selection circuit 21 through the data line DL and is for storing each bit datum transmitted in the selected controllable channel in the duty period transmitting the each bit datum.
Afterward, the timing sequence of the circuit 20 in FIG. 2 is illustrated for an example programming a nonvolatile memory (not shown). Please refer to FIG. 3, which is a schematic diagram showing conventional waveforms coming from FIG. 2 for transmitting the data stream. The waveforms in FIG. 3 are a schematic programming pulse signal VPULSE, the data stream DTS0, four control signals YS0, YS1, YS2, and YS3, four control signals YD0, YD1, YD2, and YD3, and the timing of the data stream DTS0 in the data line DL.
In order to program a bit datum BD1 of the data stream DTS0 into a memory cell corresponding to the controllable channel CE0, the data line DL holds a level state of the bit datum BD1 in a duty period PA1 of the programming pulse signal VPULSE and the controllable channel CE0 is turned on; that is, the primary switch QA0 and the secondary switch QB0 are both turned on; and the other controllable channels except the controllable channel CE0 are turned off. Therefore, the bit datum BD1 is transmitted from the data line DL through the controllable channel CE0. Similarly, in order to program a bit datum BD2 of the data stream DTS0 into another memory cell corresponding to the controllable channel CE4, the data line DL holds a level state of the bit datum BD2 in a duty period PA2 of the programming pulse signal VPULSE and the controllable channel CE4 is turned on; that is, the primary switch QA1 and the secondary switch QB4 are both turned on; and the other controllable channels except the controllable channel CE4 are turned off. Therefore, the bit datum BD2 is transmitted from the data line DL through the controllable channel CE4.
As shown in FIG. 3, the control signal of a switch has a rising time in the turn-on process of the switch, and the control signal of the switch has a falling time in the turn-off process of the switch. When the voltage rising time and the voltage falling time between two neighboring duty periods (such as PA1 and PA2) have an overlap, the next bit datum of the data stream can disturb the previous selected memory cell, or the previous bit datum of the data stream can disturb the next selected memory cell. In order to avoid the disturbance between the two time-neighboring controllable channels (such as CE1 and CE4), a duty-gap period (such as PB1) between two neighboring duty periods (such as PA1 and PA2) is needed to prevent the two neighboring controllable channels (such as CE1 and CE4) from the disturbance.
Please refer to FIG. 4, which is a schematic diagram showing a conventional circuit according to the embodiment for the data line driver in FIG. 2. As shown, a data line driver 30 for programming includes a transistor 31, a level shifter 32, a latch unit 34, and an inverter switch 35. The gate of the transistor 31 receives a bias voltage Vb and forms the configuration of a source follower. The level shifter 32 receives the data stream DTS0 and converts a level voltage of the data stream DTS0, so that the output level voltage is suitable for programming a memory cell.
The latch unit 34 coupled to the level shifter 32 receives a first signal having a logical level representing a bit datum of the data stream DTS0 in the duty period of the bit datum and produces a second signal in opposite phase with the first signal. The inverter switch 35, coupled to the transistor 31 and the latch unit 34, and receiving the second signal provides an operating signal VM, having a voltage level corresponding to the bit datum in the duty period, through the data line DL to the data selection circuit 21. The inverter switch 35 includes a PMOS transistor 351 and an NMOS transistor 352 coupled thereto.
In order to fit the dimension shrinkage of the manufacturing process and decrease the needed time programming or reading the memory cell (such as reducing the duty-gap period PB1), it is necessary to provide a more efficient circuit and method for transmitting a data stream.